#!/usr/bin/env python
#Boa:PyApp:main

import consultasBD
import utiles

modules ={u'ABMproductos': [0, '', u'ABMproductos.py']}

def buscarStockSucursal(sucursal):
    sql = "SELECT ptc,stock FROM stock WHERE stock<0 AND sucursal='"+str(sucursal+1)+"'"
    resultado,conecta = consultasBD.ordenCrudaDictRemota(sql,sucursal)
    if not conecta:
        utiles.mensaje(None,"Sin conexion con sucursal")
        return ()
    return resultado

def buscarSucursales():
    sql = "SELECT codsucursal,nombre FROM sucursales"
    resultado = consultasBD.ordenCrudaDict(sql)
    return resultado

def buscarCodSussan(ptc):
    r1 = "SELECT codsussan,talle,color "
    r2 = "FROM producto_talle_color WHERE id='"+ptc+"'"
    sql = r1+r2
    resultado = consultasBD.ordenCrudaDict(sql)
    try:
        datos = resultado[0]
    except:
        return "","",""
    return datos["codsussan"],datos["talle"],datos["color"]

def buscarDescripcion(codsussan):
    r1 = "SELECT p.proveedor,p.descri,p.preciolt1,p.estacion,p.anio,p.grupo, "
    r2 = "       gr.nombregrupo "
    r3 = "FROM productos AS p, "
    r4 = "     grupos AS gr "
    r5 = "WHERE codsussan='"+codsussan+"' AND p.grupo=gr.idgrupo "
    sql = r1+r2+r3+r4+r5
    resultado = consultasBD.ordenCrudaDict(sql)
    if len(resultado)<>1:
        return ()
    return resultado[0]

def main():
    sucursales = buscarSucursales()
    f1=open("stockacero-ajustes.txt","w")
    f2=open("stockacero-stock.txt","w")
    for sucursal in xrange(len(sucursales)):
        nrosucursal = sucursal
        nombre = sucursales[sucursal]["nombre"]
        print "SUCURSAL : ",nrosucursal+1,nombre
        for item in buscarStockSucursal(nrosucursal):
            sucursal = str(nrosucursal+1)
            ptc = item["ptc"]
            if ptc == "":
                print item
                continue
            codsussan,talle,color = buscarCodSussan(ptc)
            tipooperacion = "0"
            cantidad = str("0")
            diferencia = str(abs(item["stock"]))
            fecha = utiles.obtenerFecha("Y-m-d")
            fechaaprobado = fecha
            aprobacion = "3"
            observaciones = "AJUSTE AUTOMATICO STOCK 0 (cero)"
            datos = buscarDescripcion(codsussan)
            if len(datos)<>7:
                proveedor = ""
                descripcion = ""
                precio = "0.00"
                estacion = ""
                grupo = ""
            else:
                proveedor = str(datos["proveedor"])
                descripcion = str(datos["descri"])
                precio = str(datos["preciolt1"])
                estacion = str(datos["estacion"])+"/"+str(datos["anio"])
                grupo = str(datos["grupo"])+"/"+str(datos["nombregrupo"])

            r1 = "ajustes(sucursal,ptc,codsussan,tipooperacion,cantidad,"
            r2 = "observaciones,descripcion,proveedor,estacion,grupo,talle,"
            r3 = "color,precio,fecha,diferencia,aprobacion)"
            tablaSQL = r1+r2+r3
            r1 = "('"+sucursal+"','"+ptc+"','"+codsussan+"','"+tipooperacion
            r2 = "','"+cantidad+"','"+observaciones+"','"+descripcion
            r3 = "','"+proveedor+"','"+estacion+"','"+grupo+"','"+talle
            r4 = "','"+color+"','"+precio+"','"+fecha+"','"+diferencia
            r5 = "','"+aprobacion+"')"
            camposSQL = r1+r2+r3+r4+r5

            sql = "INSERT INTO "+tablaSQL+" VALUES "+camposSQL+";\n"
            f1.write(sql)
            sql = "UPDATE stock SET stock='"+cantidad+"' WHERE ptc='"+ptc+"' AND sucursal='"+sucursal+"';\n"
            f2.write(sql)

    f1.close()
    f2.close()

if __name__ == '__main__':
    main()
